home *** CD-ROM | disk | FTP | other *** search
/ Speccy ClassiX 1998 / Speccy ClassiX 98.iso / amiga_system / the_aminet / dev / c / asyncio.lha / AsyncIO / src / async.h next >
Encoding:
C/C++ Source or Header  |  1995-09-11  |  1.4 KB  |  59 lines

  1.  
  2. #include <exec/types.h>
  3. #include <exec/memory.h>
  4. #include <dos/dos.h>
  5. #include <dos/dosextens.h>
  6.  
  7. #include <clib/asyncio_protos.h>
  8. #include <clib/exec_protos.h>
  9. #include <clib/dos_protos.h>
  10.  
  11. #include <pragmas/exec_pragmas.h>
  12. #include <pragmas/dos_pragmas.h>
  13.  
  14. #include <string.h>
  15.  
  16. #ifdef ASIO_SHARED_LIB
  17. #define LibCall __geta4
  18. #else
  19. #define LibCall
  20. #endif
  21.  
  22. /*****************************************************************************/
  23.  
  24.  
  25. #ifndef ASIO_NOEXTERNALS
  26. extern struct DosLibrary *DOSBase;
  27. extern struct ExecBase   *SysBase;
  28. #endif
  29.  
  30.  
  31. /*****************************************************************************/
  32.  
  33.  
  34. /* this macro lets us long-align structures on the stack */
  35. #define D_S(type,name) char a_##name[sizeof(type)+3]; \
  36.             type *name = (type *)((LONG)(a_##name+3) & ~3);
  37.  
  38.  
  39. /*****************************************************************************/
  40.  
  41.  
  42. #ifdef ASIO_NOEXTERNALS
  43. AsyncFile *
  44. AS_OpenAsyncFH( BPTR handle, OpenModes mode, LONG bufferSize, BOOL closeIt, struct ExecBase *SysBase, struct DosLibrary *DOSBase );
  45. #else
  46. AsyncFile *
  47. AS_OpenAsyncFH( BPTR handle, OpenModes mode, LONG bufferSize, BOOL closeIt );
  48. #endif
  49. VOID AS_SendPacket( AsyncFile *file, APTR arg2 );
  50. LONG AS_WaitPacket( AsyncFile *file );
  51. VOID AS_RequeuePacket( AsyncFile *file );
  52. VOID AS_RecordSyncFailure( AsyncFile *file );
  53.  
  54.  
  55. extern struct ExecBase        *SysBase;
  56. extern struct Library        *UtilityBase;
  57. extern struct DosLibrary    *DOSBase;
  58.  
  59.